草庐IT

Java BufferedImage 内存消耗

全部标签

java - jdbc + 大型 postgresql 查询内存不足

我正在尝试执行一个返回较大结果的postgresql查询:connection.setAutoCommit(false);st=connection.createStatement(ResultSet.CONCUR_READ_ONLY,ResultSet.TYPE_FORWARD_ONLY);st.setFetchSize(100);logMemory();System.out.println("startquery");rs=st.executeQuery(queryString);System.out.println("donequery");logMemory();但这会占用大量

java - 将整数连接到字符串 - 从性能和内存的角度来看,使用字符串文字还是原语?

选项1:StringnewStr=someStr+3+"]";选项2:StringnewStr=someStr+"3"+"]";哪个选项在性能、内存和一般实践方面更好?我可以使用哪些推荐的工具/方法来测量我的代码的内存使用情况及其性能(除了测量开始时间和结束时间并计算差异之外) 最佳答案 第一个会变成:StringBuildersb=newStringBuilder(String.valueOf(someStr));sb.append(3);sb.append("]");StringnewStr=sb.toString();第二个会

java - 优化 Java 中字符串集合的内存使用

我有大量的名称-值对(大约100k),我需要将它们存储在某种缓存(例如HashMap)中,其中值是一个字符串,平均大小约为30k字节。现在我知道了一个事实,即大量值具有完全相同的字符串数据。为了避免多次分配相同的字符串数据,我想以某种方式重用以前分配的字符串,从而消耗更少的内存。此外,这需要相当快。即逐个扫描所有先前分配的值不是一种选择。关于如何解决这个问题有什么建议吗? 最佳答案 不要使用String.intern(多年来一直存在与此相关的各种内存问题)。相反,创建您自己的缓存,类似于String.intern。基本上,您需要一个

Java 100个左右的并行线程,内存管理

我正在编写一个创建大约100个线程的优化算法。目前,我一次启动它们(for循环),然后我告诉每个线程它应该join()。我现在的问题是每个线程都使用了很多内存,所以堆空间异常不会花很长时间。我想要某种调度,但不知道如何实现它。我有这样的想法:启动10个线程,每次其中一个完成时启动一个新线程。这样每次总是运行10个线程,直到没有线程为止。有人有想法或知道如何实现这样的事情吗?非常感谢您和来自科隆的问候马可 最佳答案 使用ThreadPoolExecutor具有适当的最大池大小。 关于Jav

Java 在释放对象和垃圾回收后仍然使用系统内存

我正在运行JVM1.5.0(MacOSX默认值),并且正在Activity监视器中监视我的Java程序。我有以下内容:importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.ArrayList;importjava.util.Date;publicclassMemoryTest{publicstaticvoidmemoryUsage(){System.out.println(Runtime.getRuntime().totalMemory

C++ :内存管理 new&delete

目录内存区域划分C++的动态内存的管理方式  newnew的基本使用方法 【注意事项】 delete 【注意】new和delete操作自定义类型 operatornew和operatordelete 【关于自定义类型new申请内存】【原理】 【调用顺序】 【连续开辟空间问题】 malloc/free和new/delete的区别 内存区域划分【说明】栈又叫堆栈--非静态局部变量/函数参数/返回值等等,栈是向下增长的,栈是一种用于存储局部变量和函数调用信息的内存区域。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。堆用于程序运行时动

java - 为什么这段代码在java中会耗尽内存,而在c中却不会?

在java或c中我都可以写一个类似的函数fun(){fun();}(忽略语法细节)在Java中,我得到OutOfMemory异常,但在C(可能还有一些其他语言)中,它似乎永远运行,就好像它是一个无限循环。为什么我在这里也没有出现OutOfMemory错误? 最佳答案 由于您的函数是tailrecursion的示例,那么很可能是C编译器将递归优化为迭代,导致它无限循环而不会崩溃。 关于java-为什么这段代码在java中会耗尽内存,而在c中却不会?,我们在StackOverflow上找到一

unity 微信小程序iOS内存优化与管控经验

原文链接https://blog.csdn.net/weixin_40137140/article/details/134083407?spm=1001.2014.3001.5501前言本篇文章是作者本人通过查看微信unity小程序官方内存优化文档和结合自身项目经验总结所得,会有一定的重复内容,在观看本篇文章之前,请仔细浏览微信官方内存优化文档,否则可能对文章无法理解,如有错误,欢迎指出。微信unity小程序优化文档:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/Opt

java - Log4j2 自定义 Hibernate Appender 的内存泄漏

我们将我们的应用程序从一个自己的小型日志记录组件转移到Log4j2。该应用程序在我们最大的安装中每天运行大约60.000个作业。我们编写自己的Appender,它使用Hibernate写入我们的数据库(请参阅InnovaIntegrationsportalHibernateAppender)。在大约36小时的运行时间后,JVM因内存不足异常/错误(OOME)而崩溃,分析hprof我看到类org.apache.logging.log4j.core的数量为763,5MB。appender.AbstractManager查看附件的分析截图(2019-04-1213_20_45-eclips.

java - Java 的内存 SFTP 服务器有什么好的吗?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我有一些代码需要编写测试以连接到供应商的SFTP服务器并将文件放在那里。现在测试正在连接到他们的实际服务器,但我不想这样做。理想情况下,我想使用假的,在内存中,按照MockFtpServer的方式切断.我尝试使用那个,它到达那里的一部分,但在发出实际命令时死了,因为它不识别它们。有问题的代码是MuleESB中的流程设置.